package cn.tedu.innerclass;
/**本类用于测试成员变量被static修饰*/
public class TestInner3 {
    public static void main(String[] args) {
        //4.访问内部类的资源
//        //方式1：创建普通对象使用内部类资源
//        Outer3.Inner3 oi3 = new Outer3().new Inner3();
//        oi3.show();
//        //方式2：创建匿名方式使用内部类的资源
//        new Outer3().new Inner3().show();

        /**现象：当内部类被static修饰后，new Outer3()报错*/
        //6。用static修饰内部类以后，上面创建的语句报错，注释掉
        //通过外部类名创建内部类对象
        Outer3.Inner3 oi = new Outer3.Inner3();
        oi.show();
        new Outer3.Inner3().show();

        //8.调用静态内部类的静态方法----链式加载
        Outer3.Inner3.show2();
    }
}

//1.创建外部内
class Outer3{
    //2.创建成员内部类
    //5.测试成员内部类被静态修饰
    static class Inner3{
        //3.定义一个普通方法
        public void show(){
            System.out.println("内部类...show()");
        }
        public static void show2(){
            System.out.println("我是静态内部类的静态方法");
        }
    }
}
